/*
  (c)opyright
geralt aka geralt
  2007-2008
  mail to geralt dot ne _ gmail dot com
*/

var request=get_http();
var busy=false;
var url_ = '/control/myadmin.php';
var dest='content';

  function langChange(lang,mode,id,alias,val)
    {
      var d;
      if (mode == 1)
        d = prompt("Введите Алиас для значения "+val,alias);
      if (mode == 2)
        d = prompt("Введите Значение для алиаса "+alias,val);
      if (d)
        block('page=LanguageManager&lang='+lang+'&id='+id+'&d='+d+'&mode='+mode);

    }

  function Insert(text)
    {
      var myQuery = document.getElementById('sql');
      var chaineAj = text;
          //IE support
          if (document.selection) {
              myQuery.focus();
              sel = document.selection.createRange();
              sel.text = text;
              myQuery.focus();
          }
          //MOZILLA/NETSCAPE support
          else if (myQuery.selectionStart || myQuery.selectionStart == "0") {
              var startPos = myQuery.selectionStart;
              var endPos = myQuery.selectionEnd;
              var chaineSql = myQuery.value;

              myQuery.value = chaineSql.substring(0, startPos) + chaineAj + chaineSql.substring(endPos, chaineSql.length);
          } else {
              myQuery.value += chaineAj;
          }
          sql_box_locked = false;
    }

  function getFCK(id)
  {
  	var oEditor = FCKeditorAPI.GetInstance(id) ;
	return  escape( oEditor.GetXHTML( true ) );
  }

function getMCE(id)
{
    var content=tinyMCE.get(id).getContent();
    // удаляем визивик из этой textarea из-за бага: http://tinymce.moxiecode.com/punbb/viewtopic.php?pid=22977
    tinyMCE.execCommand('mceRemoveControl', false, id);
    return content;
}

  function get_(id,param,noescape)
    {
      var obj = document.getElementById(id);
      var ret = ''
      if (obj)
        {

          if (param == 'v') ret = obj.value;
          if (param == 'c') ret = obj.checked;
        }
      if (noescape == 0)
        {return ret;} else {
            ret=escape(ret); 
            ret=ret.replace(/\+/g, '%2b');
            return ret;
        }
      return "";
    }

  function alertOrder(id,change)
    {
      block('page=alertOrder&field='+id+'&change='+change);
    }
  function alertAlias(id,current, type)
    {
      t=(type)? type: '';
    	block('page=alertAlias&field='+id+'&new='+prompt("Введите новое значение",current)+"&type="+t);
    }
  function addPhoto(id,src,dir)
    {
      if (src)
        document.getElementById(id).value += src+'|';
      var imgs = document.getElementById(id).value;
      var pr = document.getElementById(id+'preview');
      var arr_imgs = new Array();
      arr_imgs = imgs.split('|');
      pr.innerHTML = '';
      for(i=0;i<arr_imgs.length-1;i++)
        {
//          alert(arr_imgs[i]);
          pr.innerHTML += "<img onclick=\"removePhoto('"+id+"','"+arr_imgs[i]+"','"+dir+"')\" src='/images/"+dir+"/"+arr_imgs[i]+"'><br>";
        }
    }
  function removePhoto(id,src,dir)
    {
      if (!confirm('Удалить фото?')) return;
      if (!id) return;
      if (!src) return;
      var imgs = document.getElementById(id).value;
      var arr_imgs = new Array();
      arr_imgs = imgs.split('|');
      imgs = '';
      for(i=0;i<arr_imgs.length-1;i++)
        {
          if (arr_imgs[i] != src)
          imgs += arr_imgs[i]+'|';
        }
      document.getElementById(id).value = imgs;
      addPhoto(id,'',dir);

    }

  function multipulti(id)
    {
      var all = document.getElementsByName(id);
      var out = '';
      for(i=0;i<all.length;i++)
        {
          if (all[i].checked) out += '|'+all[i].value+'|';
        }
      document.getElementById(id).value = out;
    }
  function oopen(id_)
    {
      var win = window.open('/cms/w_extended.html', id_ ,config='height=600,width=800');
    }
  function parentChild(id,tabl,s)
    {
      block('source='+s+'&page=parentChild&id='+id+'&selected='+get_(s,"v",0)+'&table='+tabl,id);
    }


function block(postArray)
  {
  	document.getElementById('loading').innerHTML='<img src=/js/images/loading.gif>';
    //document.getElementById('content').innerHTML='Загрузка...'+document.getElementById('content').innerHTML;
    //document.getElementById('content').style.display = 'none'
    if (busy!=true)
      {
        busy=true;
        postArray+='&ajaz=1';
        request.open("POST", url_, true);
        request.onreadystatechange = function()
          {
            if (request.readyState == 4)
              {
                if (request.status == 200)
                  {
                    var tmp = (request.responseText).split('|');
                    if (tmp[0] == 'err')
                      {
                        alert(tmp[1]);
                      }
                    else
                      {
                        if (tmp[0] == 'select')
                          {
                          	var valarr = new Array();
                            var vals = tmp[2];
                            var sel = document.getElementById(tmp[1]);
                            var valarr = vals.split(';');
                            sel.options.length = 0;
                            valarr = valarr.slice(0,valarr.length - 1)
                            sel.options[sel.options.length] = new Option('','');
                            for (i=0;i<valarr.length; i+=2)
                              {
                                sel.options[sel.options.length] = new Option(valarr[i+1], valarr[i]);
                              }
                          }
                        else
                          {
                            if (tmp[0] == 'js')
                              {
                                document.getElementById('content').innerHTML=tmp[2];
                                window.eval(tmp[1]);
                              }
                            else
                              {
                                document.getElementById('content').innerHTML=request.responseText;
                              }
							// инициализируем дополнительный обработчик	(чекбоксы и всё такое)
							init_all();
                            // инициализируем Tiny MCE
                            initMCE();
                          }
                      }
                    document.getElementById('loading').innerHTML='';
    document.getElementById('content').style.display = 'block'
                    busy=false;
                  }
              }
          }
        request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        request.send(postArray);
        
      }
    else
      {
        alert('Ошибка', "Выполняется запрос. Подождите ... ");
      }
  }

  function alertSize(id)
    {
      if (!id) return;
//      var newW = $('$'+id+'w').attr('value');
//      var newH = $('$'+id+'h').attr('value');
      var W = document.getElementById(id+'w').value;
      var H = document.getElementById(id+'h').value;
      var Wth = document.getElementById(id+'wth').value;
      var Hth = document.getElementById(id+'hth').value;
      var dest = document.getElementById(id+'dest').value;
      var prefix = document.getElementById(id+'prefix').value;
      block('page=alertSize&id='+id+'&W='+W+'&H='+H+'&Wth='+Wth+'&Hth='+Hth+'&dest='+dest+'&prefix='+prefix);
    }

function get_http(){
    var xmlhttp;
    /*@cc_on
    @if (@_jscript_version >= 5)
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlhttp = new
                ActiveXObject("Microsoft.XMLHTTP");
            } catch (E) {
                xmlhttp = false;
            }
        }
    @else
        xmlhttp = false;
    @end @*/
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        try {
            xmlhttp = new XMLHttpRequest();
        } catch (e) {
            xmlhttp = false;
        }
    }
    return xmlhttp;
}

function updateValidFuncs(fldId,validator,req,minLength,maxLength,unique)
{
	$.ajax(
	{
		type: "GET",
		url: "/execplugin/?myadmin=1&plugFunc=updateValidations&funcParams="+fldId+'@@'+validator+'@@'+req+'@@'+minLength+'@@'+maxLength+'@@'+unique
	}
	);
}